**1. 干什么** Windows 在进程对象之上叠加会话、窗口站、桌面三层容器,隔离交互式用户与服务进程,并约束输入与显示能力。 **2. 谁在调** * 用户态主体:winlogon 建立会话,SCM 拉起服务,交互程序运行于交互窗口站。 * 系统层封装:ProcessIdToSessionId、窗口站与桌面 API。 * 内核态主体:会话对象、窗口站对象、桌面对象与安全描述符。 **3. 做什么业务** 会话(Session)是登录单位,用户登录时 winlogon 分配 Session ID,物理桌面通常在 Session 1。自 Vista 起所有服务进程统一置于 Session 0,形成服务与交互用户的会话隔离。窗口站(Window Station)是会话内安全边界,可接收键盘鼠标输入并绘制窗口的交互式窗口站为 WinSta0,服务使用非交互窗口站。桌面是窗口站内再划分的输入界面,UAC 同意弹窗切换到 Secure Desktop,该桌面不接受常规钩子输入。 **4. 组件清单** * Session ID 与会话对象 * WinSta0 交